Virtual machines are software implementations of a computer that execute programs like a real or physical machine. Virtual machines may be used to process various applications, provide services, or perform various functions. In many implementations, separate virtual machines may be used to perform specific functions. Because the virtual machines are separated, the services performed on each virtual machine may not conflict with each other and may be managed as separate entities, even though in some cases, two or more virtual machines may be executed on a single hardware platform.
One of the features of a virtual machine is that it may be paused, saved, and resumed. When a virtual machine is paused, it may be moved from one hardware platform to another. By moving virtual machines from one hardware platform to another, virtual machines may be consolidated or distributed as the loads on the virtual machines contract and expand.